Personal computer systems are well known in the art. Personal computer systems in general, and IBM Personal Computers in particular, have attained widespread use for providing computer power to many segments of today's modern society. Personal computers can typically be defined as a desktop, floor standing, or portable microcomputer that is comprised of a system unit having a single central processing unit (CPU) and associated volatile and non-volatile memory, including all RAM and BIOS ROM, a system monitor, a keyboard, one or more flexible diskette drives, a fixed disk storage drive (also known as a "hard drive"), a so-called "mouse" pointing device, and an optional printer. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. These systems are designed primarily to give independent computing power to a single user and are inexpensively priced for purchase by individuals or small businesses. Examples of such personal computer systems are IBM's PERSONAL COMPUTER AT (hereinafter IBM PC/AT), IBM's PERSONAL SYSTEM/1 (IBM PS/1), and IBM's PERSONAL SYSTEM/2 (IBM PS/2).
These systems can be classified into two general families. The first family, usually referred to as Family I Models, use the well known industry standard architecture (ISA) bus architecture exemplified by the IBM PC/AT and the IBM PS/1 and also used by so-called "IBM compatible" machines. The second family, referred to as Family II Models, use IBM's well known MICRO CHANNEL bus exemplified by IBM's PS/2.
Personal computer systems are typically used to execute software to perform such diverse activities as word processing, manipulation of data viaspread-sheets, collection and relation of data in databases, displays of graphics, design of electrical or mechanical systems using system-design software, etc.
In such computer systems, the components communicate via electrical signals. These electrical signals are typically carried by electrical connections between the system components. Typical types of electrical connections include metal traces on a printed circuit board (PCB), vias between different levels of multilayer PCBs, plated through holes, plugs, and individual wires connected from pin to pin of system components. Typically groups of electrical signals and groups of electrical connections which carry the electrical signals are referred to as a "bus." Thus, a reference to a "bus" can indicate a reference to a group of electrical signals, a group of electrical connections which carry the electrical signals, or a reference to both a group of electrical signals which form a protocol and a group of electrical connections which carry the electrical signals. Buses are made up of "bus lines." A reference to an individual "bus line" may refer to an electrical connection of a bus or an electrical signal of a bus.
The MICRO CHANNEL bus is a well known bus, which is fully described in IBM Personal System/2 Hardware Interface Technical Reference, which is available to the public from International Business Machines Corporation. MICRO CHANNEL bus systems are typically higher end systems than ISA systems. The MICRO CHANNEL bus has a higher bus bandwidth than the ISA bus. In addition, the MICRO CHANNEL bus has an optional streaming data procedure that provides a faster data transfer rate than the basic transfer procedure and allows 64-bit data transfers. Moreover, the MICRO CHANNEL bus provides an arbitration procedure that allows the system master and up to 15 devices to bid for control of the MICRO CHANNEL bus.
Fixed disk storage devices (hard drives) are typically connected either directly to the system planar or interface to the system planar through a peripheral adapter card. Hard drives are sold with various interface configurations, such as the older analog MFM (modified frequency modulation) and RLL (run-length limited) interfaces and the newer, very popular digital IDE (integrated drive electronics) and SCSI (small computer system interface) interfaces.
The IDE AT interface is an extension of the IBM PC/AT bus and was designed specifically to be easily interfaced to IBM PC/AT systems and other ISA systems. The AT IDE interface is a well known bus, which is fully described in the draft American National Standards Institute (ANSI) specification number X3.221 entitled "AT Attachment Interface for Hard Drives," which is available from Global Engineering, 2805 McGraw St., Irvine, Calif. 92714.
The SCSI bus, on the other hand, was designed to be used in a variety of systems. For example, interface cards exist to interface a SCSI drive to an ISA-based machine through the ISA bus, to MICRO CHANNEL bus-based systems through the MICRO CHANNEL bus, and to Video Electronics Standards Association (VESA) Local Bus-based systems through the VESA Local Bus.
Until relatively recently, SCSI drives were the only drives available for use with personal computer systems that had both high densities and fast access times. Therefore, until relatively recently, the higher end systems, such as all MICRO CHANNEL bus-based systems, used SCSI drives exclusively. However, quite recently, IDE drives have achieved similar densities, at similar access times. Moreover, IDE drives are typically cheaper and physically smaller than SCSI drives of corresponding fixed disk capacity.
Therefore, it is desirable to be able to connect an IDE hard drive to a MICRO CHANNEL bus-based system to take advantage of the smaller size and lower price for drives with comparable storage capacities and access times. However, the MICRO CHANNEL bus is very different from the ISA bus. Because the IDE interface is directly derived from the ISA bus, IDE hard drives are not able to be directly connected to the MICRO CHANNEL bus.
However, connection of an IDE drive to a MICRO CHANNEL bus system involves several problems. First, the IDE drive address space overlaps with the address space for the floppy drive controller (FDC). For reasons of portability and compatibility, devices in computer systems typically access fixed addresses in I/O space. The FDC uses the I/O port address range 03FOH to 03F7H. Typical FDCs do not use address 03F6H; rather most typical FDCs designate address 03F6H as an address "reserved" for future use. An IDE interface device uses the I/O port address ranges 01FOH to 01F7H and 03F6H to 03F7H. It is readily apparent that in a system with both an IDE drive and a FDC, both the IDE drive and FDC would respond simultaneously to I/O accesses to location 03F7H. Moreover, control words sent to one would be received by both, possibly causing data loss and/or total system failure.
Second, the timing of data transfer cycles on the MICRO CHANNEL bus is different from that of the IDE interface. On the IDE interface, the IORDY signal is pulled low to extend a data transfer cycle after the DIOR- or DIOW- signal goes active. In contrast, on a MICRO CHANNEL bus, CD CHRDY must be pulled low to extend a data transfer cycle before CMD- goes active.
Third, the MICRO CHANNEL bus and the IDE interface are designed to handle data transfer cycles of different cycle times. The MICRO CHANNEL bus has three different cycle times: 200 ns (default synchronous cycle), 300 ns (synchronous extended cycle), and &gt;300 ns (asynchronous extended cycle). The IDE interface has three different cycle times: 600 ns (Mode 0), 383 ns (Mode 1), and 240 ns (Mode 2). Thus, the shortest data transfer cycle between a Mode 2 capable IDE drive and the MICRO CHANNEL bus is a 300 ns synchronous extended cycle. That is, only Mode 2 devices can make use of a synchronous cycle. Mode 0 and Mode 1 devices must use the asynchronous extended cycle.
Fourth, the polarity of the reset signals are inverted. On the IDE interface, the RESET signal is active low. On the MICRO CHANNEL bus, the CHRESET signal is generally active high.
Fifth, the IDE interface interrupt INTRQ is not a sharable interrupt. However, the hard file interrupt on the MICRO CHANNEL bus, --IRQ 14, is a sharable interrupt. Thus, numerous obstacles exist to connecting an IDE hard drive to the MICRO CHANNEL bus.
In addition, when the MICRO CHANNEL bus is accessed in a MICRO CHANNEL bus environment, --CD SFDBK(n) and --CD DS 16(n) must be correctly driven by the device accessing the MICRO CHANNEL bus.